// @ts-ignore
/* eslint-disable */
import request from '@/utils/request.ts'

/** 此处后端没有提供注释 POST /team/applyJoinTeam */
export async function applyJoinTeam(body: API.SysTeamUser, options?: { [key: string]: any }) {
  return request<API.BaseResponseBoolean>('/team/applyJoinTeam', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  })
}

/** 此处后端没有提供注释 POST /team/createTeam */
export async function createTeam(body: API.SysTeam, options?: { [key: string]: any }) {
  return request<API.BaseResponseSysTeam>('/team/createTeam', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  })
}

/** 此处后端没有提供注释 GET /team/findCreateTeam */
export async function findCreateTeam(options?: { [key: string]: any }) {
  return request<API.BaseResponseListSysTeam>('/team/findCreateTeam', {
    method: 'GET',
    ...(options || {}),
  })
}

/** 此处后端没有提供注释 GET /team/findJoinedTeams */
export async function findJoinedTeams(options?: { [key: string]: any }) {
  return request<API.BaseResponseListSysTeam>('/team/findJoinedTeams', {
    method: 'GET',
    ...(options || {}),
  })
}

/** 此处后端没有提供注释 GET /team/findMyTeams */
export async function findMyTeams(options?: { [key: string]: any }) {
  return request<API.BaseResponseListSysTeam>('/team/findMyTeams', {
    method: 'GET',
    ...(options || {}),
  })
}

/** 此处后端没有提供注释 GET /team/findSubscribeTeams */
export async function findSubscribeTeams(options?: { [key: string]: any }) {
  return request<API.BaseResponseListSysTeam>('/team/findSubscribeTeams', {
    method: 'GET',
    ...(options || {}),
  })
}

/** 此处后端没有提供注释 GET /team/getReviewMembers */
export async function getReviewMembers(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.getReviewMembersParams,
  options?: { [key: string]: any }
) {
  return request<API.BaseResponseListTeamMembersDTO>('/team/getReviewMembers', {
    method: 'GET',
    params: {
      ...params,
    },
    ...(options || {}),
  })
}

/** 此处后端没有提供注释 GET /team/getTeamDetails */
export async function getTeamDetails(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.getTeamDetailsParams,
  options?: { [key: string]: any }
) {
  return request<API.BaseResponseTeamDetailsDTO>('/team/getTeamDetails', {
    method: 'GET',
    params: {
      ...params,
    },
    ...(options || {}),
  })
}

/** 此处后端没有提供注释 GET /team/getTeamList */
export async function getTeamList(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.getTeamListParams,
  options?: { [key: string]: any }
) {
  return request<API.PageResponseSysTeam>('/team/getTeamList', {
    method: 'GET',
    params: {
      ...params,
      sysTeamPageListVo: undefined,
      ...params['sysTeamPageListVo'],
    },
    ...(options || {}),
  })
}

/** 此处后端没有提供注释 GET /team/getTeamListWithCaptain */
export async function getTeamListWithCaptain(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.getTeamListWithCaptainParams,
  options?: { [key: string]: any }
) {
  return request<API.PageResponseSysTeamWithCaptainDTO>('/team/getTeamListWithCaptain', {
    method: 'GET',
    params: {
      ...params,
      vo: undefined,
      ...params['vo'],
    },
    ...(options || {}),
  })
}

/** 此处后端没有提供注释 GET /team/getTeamMembers */
export async function getTeamMembers(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.getTeamMembersParams,
  options?: { [key: string]: any }
) {
  return request<API.BaseResponseListTeamMembersDTO>('/team/getTeamMembers', {
    method: 'GET',
    params: {
      ...params,
    },
    ...(options || {}),
  })
}

/** 此处后端没有提供注释 GET /team/getTeamMembersCount */
export async function getTeamMembersCount(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.getTeamMembersCountParams,
  options?: { [key: string]: any }
) {
  return request<API.BaseResponsePageTeamWithMemberCountDTO>('/team/getTeamMembersCount', {
    method: 'GET',
    params: {
      ...params,
      queryDTO: undefined,
      ...params['queryDTO'],
    },
    ...(options || {}),
  })
}

/** 此处后端没有提供注释 DELETE /team/quitTeam */
export async function quitTeam(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.quitTeamParams,
  options?: { [key: string]: any }
) {
  return request<API.BaseResponseBoolean>('/team/quitTeam', {
    method: 'DELETE',
    params: {
      ...params,
    },
    ...(options || {}),
  })
}

/** 此处后端没有提供注释 DELETE /team/removeTeamMember */
export async function removeTeamMember(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.removeTeamMemberParams,
  options?: { [key: string]: any }
) {
  return request<API.BaseResponseBoolean>('/team/removeTeamMember', {
    method: 'DELETE',
    params: {
      ...params,
    },
    ...(options || {}),
  })
}

/** 此处后端没有提供注释 PUT /team/reviewMember */
export async function reviewMember(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.reviewMemberParams,
  options?: { [key: string]: any }
) {
  return request<API.BaseResponseBoolean>('/team/reviewMember', {
    method: 'PUT',
    params: {
      ...params,
    },
    ...(options || {}),
  })
}

/** 此处后端没有提供注释 GET /team/selectMyAllTeams */
export async function selectMyAllTeams(options?: { [key: string]: any }) {
  return request<API.BaseResponseListSysTeam>('/team/selectMyAllTeams', {
    method: 'GET',
    ...(options || {}),
  })
}

/** 此处后端没有提供注释 PUT /team/transferTeamLeader */
export async function transferTeamLeader(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.transferTeamLeaderParams,
  options?: { [key: string]: any }
) {
  return request<API.BaseResponseBoolean>('/team/transferTeamLeader', {
    method: 'PUT',
    params: {
      ...params,
    },
    ...(options || {}),
  })
}

/** 此处后端没有提供注释 PUT /team/updateTeamDetails */
export async function updateTeamDetails(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.updateTeamDetailsParams,
  body: API.TeamDetailsDTO,
  options?: { [key: string]: any }
) {
  return request<API.BaseResponseBoolean>('/team/updateTeamDetails', {
    method: 'PUT',
    headers: {
      'Content-Type': 'application/json',
    },
    params: {
      ...params,
    },
    data: body,
    ...(options || {}),
  })
}
